package com.stylefeng.guns.rest.modular.App.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper=true)
@TableName("order_line")
 /**
 * 线路基本信息
 *
 * @author 张亚林
 * @Date 2018-11-16 17:56
 * @TableField(exist = false) 实现属性与数据库字段不一一对应
 */
public class OrderLine extends Model<OrderLine> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     * 自动生成后修改成实际的主键 
     */
    protected Serializable pkVal() {
        return this.olId;
    }
    
    //扩展能查询字段
    @TableField(exist = false) 
    private String key ;
    //开始日期
    @TableField(exist = false)     
    private String sdate;
    //截止日期 
    @TableField(exist = false) 
	private String edate;
    //排序字段
    @TableField(exist = false) 
	private String  sortField ;
	//排序	
	@TableField(exist = false) 
	private String sortOrder;

	
    @ApiModelProperty(value = "编号")
    @TableField("ol_id")
    private String olId;     //编号

    @ApiModelProperty(value = "线路名称")
    @TableField("ol_name")
    private String olName;     //线路名称

    @ApiModelProperty(value = "起始城市")
    @TableField("ol_start_city")
    private String olStartCity;     //起始城市

    @ApiModelProperty(value = "出发城市")
    @TableField("ol_start_city_id")
    private String olStartCityId;     //出发城市

    @ApiModelProperty(value = "起点坐标")
    @TableField("ol_start_position")
    private String olStartPosition;     //起点坐标

    @ApiModelProperty(value = "终点城市")
    @TableField("ol_end_city")
    private String olEndCity;     //终点城市

    @ApiModelProperty(value = "终止城市id")
    @TableField("ol_end_city_id")
    private String olEndCityId;     //终止城市id

    @ApiModelProperty(value = "终点坐标")
    @TableField("ol_end_position")
    private String olEndPosition;     //终点坐标

    @ApiModelProperty(value = "预计运行时长（分钟）")
    @TableField("ol_estimate_time")
    private Integer olEstimateTime;     //预计运行时长（分钟）

    @ApiModelProperty(value = "使用状态，1启用，0禁用")
    @TableField("ol_is_alived")
    private String olIsAlived;     //使用状态，1启用，0禁用

    @ApiModelProperty(value = "是否自动打包： 0（否）1（是）")
    @TableField("ol_auto_task")
    private String olAutoTask;     //是否自动打包： 0（否）1（是）

    @ApiModelProperty(value = "打包规则 固定是01 一单一包")
    @TableField("ol_auto_task_rule")
    private String olAutoTaskRule;     //打包规则 固定是01 一单一包

    @ApiModelProperty(value = "时段打包规则id 班次预约时段前或 班次预约时段后")
    @TableField("ol_oattr_id")
    private String olOattrId;     //时段打包规则id 班次预约时段前或 班次预约时段后

    @ApiModelProperty(value = "任务最大人数")
    @TableField("ol_max_psn_num")
    private Integer olMaxPsnNum;     //任务最大人数

    @ApiModelProperty(value = "一单对一任务 延迟群发时间（分钟）")
    @TableField("ol_one_to_one_delay")
    private Integer olOneToOneDelay;     //一单对一任务 延迟群发时间（分钟）

    @ApiModelProperty(value = "是否群发 0（否）1（是）")
    @TableField("ol_one_to_one_publish")
    private String olOneToOnePublish;     //是否群发 0（否）1（是）

    @ApiModelProperty(value = "驾驶员打包 0（否）1（是）")
    @TableField("ol_driver_package")
    private String olDriverPackage;     //驾驶员打包 0（否）1（是）

    @ApiModelProperty(value = "是否按班次发车 0（否）1（是）")
    @TableField("ol_send_by_timer")
    private String olSendByTimer;     //是否按班次发车 0（否）1（是）

    @ApiModelProperty(value = "提前多长时间下单 单位分钟 参照班次时间")
    @TableField("ol_pre_sale_minitue")
    private Integer olPreSaleMinitue;     //提前多长时间下单 单位分钟 参照班次时间

    @ApiModelProperty(value = "提前多长时间退票 单位分钟 参照班次时间")
    @TableField("ol_pre_refund_minitue")
    private Integer olPreRefundMinitue;     //提前多长时间退票 单位分钟 参照班次时间

    @ApiModelProperty(value = "发车前多少时间提醒驾驶员发车")
    @TableField("ol_pre_minite_aler_driver")
    private Integer olPreMiniteAlerDriver;     //发车前多少时间提醒驾驶员发车

    @ApiModelProperty(value = "是否按站点接送 0（否）1（是）")
    @TableField("ol_sf_site")
    private String olSfSite;     //是否按站点接送 0（否）1（是）

    @ApiModelProperty(value = "固定上车点坐标")
    @TableField("ol_up_pos")
    private String olUpPos;     //固定上车点坐标

    @ApiModelProperty(value = "固定下车点坐标")
    @TableField("ol_down_pos")
    private String olDownPos;     //固定下车点坐标

    @ApiModelProperty(value = "固定上车点名名称")
    @TableField("ol_up_pos_name")
    private String olUpPosName;     //固定上车点名名称

    @ApiModelProperty(value = "固定下车点名称")
    @TableField("ol_down_pos_name")
    private String olDownPosName;     //固定下车点名称

    @ApiModelProperty(value = "创建人")
    @TableField("create_user")
    private String createUser;     //创建人

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;     //创建时间

    @ApiModelProperty(value = "更新人")
    @TableField("update_user")
    private String updateUser;     //更新人

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;     //更新时间

    @ApiModelProperty(value = "备注")
    @TableField("note")
    private String note;     //备注

    @ApiModelProperty(value = "申请机构ID")
    @TableField("appli_so_id")
    private Integer appliSoId;     //申请机构ID

    @ApiModelProperty(value = "申请状态：0：起草中，1：审批中，2：退回 6：审批通过")
    @TableField("check_result")
    private String checkResult;     //申请状态：0：起草中，1：审批中，2：退回 6：审批通过


}
